package com.sailing.xjpb.common.tree.annotation;

import com.sailing.xjpb.common.tree.SailingVueTree;

import java.lang.annotation.*;

/**
 * 非{@linkplain SailingVueTree}标注的数据转换为{@linkplain SailingVueTree}需要在类信息上标注的注解信息
 *
 * @author YW
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Tree {
    /**
     * 树的ID字段
     *
     * @return 树的ID字段
     */
    String id();

    /**
     * 树的父ID字段-如果父ID为空或者不是注解标注类的一个字段，则程序不会设置子节点信息
     *
     * @return 树的父ID字段-如果父ID为空或者不是注解标注类的一个字段，则程序不会设置子节点信息
     */
    String pid() default "";

    /**
     * 树的描述信息
     *
     * @return 树的描述信息
     */
    String label();

    /**
     * 树的code
     *
     * @return 树的code
     */
    String code() default "treeCode";
}
